Technique for providing programming content through a communications network having limited bandwidth

ABSTRACT

In a cable television system, a specific carrier is assigned to deliver programming content of a program channel to a service area for a period, defined as a function of viewership of the program channel during that period. For example, the program channel is assigned the specific carrier during the time when it has a generally strong viewership. Otherwise, the program channel is assigned a carrier on an as needed basis, i.e., only when one or more subscribers in the service area request such a program channel. Viewing statistics are generated to identify viewership patterns or viewing habits of the subscribers in the service area with respect to a given program channel. In another embodiment, based on the viewing statistics, popular and unpopular programs, program elements, program lineups, program channels are identified on a temporal and/or regional basis.

[0001] The present application is a continuation-in-part of U.S.application Ser. No. 09/956,688, filed on Sep. 20, 2001, which isincorporated herein by reference.

FIELD OF THE INVENTION

[0002] The invention relates to a communications system and method, andmore particularly to a community access television (CATV) system andmethod for providing program material through a cable network havinglimited bandwidth.

BACKGROUND OF THE INVENTION

[0003] Cable television is typically provided by delivering televisionprogramming through a community access television (CATV) system tosubscribers. Specifically, in delivering the television programming, aheadend in the CATV system distributes program data streams containingprogram materials through different channels of a distribution network,which occupy specified frequency bands. The program data stream for eachchannel is used to modulate a carrier associated with the channel. Theresulting modulated carriers are combined and transmitted through thedistribution network to a service area node, where the combinedmodulated carries are provided to a service area. A subscriber in theservice area utilizes a set-top terminal to receive the combinedmodulated carriers and tune to a desired channel to obtain the programmaterial from the associated modulated carrier.

[0004] In prior art, the combined modulated carriers provided to aservice area contain program materials of all channels used in a CATVsystem. However, as a cable TV provider uses an increasing number ofchannels to deliver additional program materials to attain a largersubscription, the number of available channels will soon run out. Thus,an urgent need arises where an efficient utilization of the limitedbandwidth of the distribution network is required to deliver theadditional program materials.

SUMMARY OF THE INVENTION

[0005] A copending, commonly assigned U.S. application Ser. No.09/956,688 (“the '688 application”) filed on Sep. 20, 2001 discloses aswitched broadcast technique for redressing some of the prior artdeficiencies. According to such a technique, selected program channelsare made available to subscribers in the same service area on an asneeded basis. As a result, the number of program channels furnished,although not simultaneously, by a system using the switched broadcasttechnique may exceed the maximum number of carriers allowed.

[0006] The present invention improves the switched broadcast techniqueby identifying “popular” program channels, which command generallystrong viewership in a service area. In accordance with the invention, apopular program channel may be assigned a carrier on a long term basis,not subject to reassignment according to the switched broadcasttechnique as soon as no set-top terminals in the same service area aretuned to such a program channel. The invention, in part, is based upon arecognition that even though a program channel is popular, there may bebrief moments in which all set-top terminals in the same service areaare tuned away from such a program channel. Thus, the invention improvesthe switched broadcast technique by assigning a carrier to a popularprogram channel for a period despite intermittent viewership, therebyadvantageously saving the system resources otherwise needed tofrequently assigning and reassigning a carrier therefor during such aperiod.

[0007] In an illustrative embodiment, the popularity of a programchannel is determined based on viewing statistics, which are generatedbased on data in requests issued from the set-top terminals in a servicearea. The requests may be issued in response to the subscribers at theset-top terminals selecting and deselecting the program channel. Basedon the viewing statistics, at least one period in which the programchannel is in a particular status (e.g., being popular) is identified.For example, a program channel-is considered popular when the number ofset-top terminals receiving programming content associated with theprogram channel exceeds a threshold. A selected carrier is assigned todeliver the programming content associated with the program channel forthe identified period.

[0008] The invention is also based upon a recognition that popularity ofa program channel may change by day or even time of day. Thus, inaccordance with an aspect of the invention, a popular program channelmay be assigned a particular carrier until the program channel becomes“unpopular.” At such time, the particular carrier may be assigned toanother popular program channel, and the unpopular program channel isthen subject to switched broadcast. Further, a carrier may be shared bycomplementary program channels, where one program channel is popular fortimes when the other program channel is unpopular, and vice versa.

[0009] Thus, in a second embodiment of the invention, viewing statisticsare generated based on data in requests concerning at least first andsecond program channels, which are issued from the set-top terminals ina service area. Based on the statistics, a first period and a secondperiod in which the first program channel and the second program channelare in a certain status are determined, respectively. The first andsecond periods are non-overlapping. A carrier is allocated to deliverprogram material associated with the first program channel to theservice area for the first period. The same carrier is re-allocated todeliver program material associated with the second program channel tothe service area for the second period. The carrier may be repeatedlyallocated and re-allocated in a similar manner.

[0010] In addition, the viewing statistics may be used to identifypopular or unpopular program elements including, e.g., TV shows;commercials; skits, monologues and chapters made part of TV shows; etc.The program elements associated with a program channel are provided in asequence to a service area according to a predetermined schedule. Basedon the viewing statistics, a period in which the program channel is in aparticular status (being popular or unpopular) is determined. A subsetof the popular or unpopular program elements provided in the period isidentified based on the predetermined schedule. Further, by aggregatingthe viewing statistics concerning multiple service areas which comprisea region, e.g., the South, Midwest, Northeast, West Coast, etc.,regional acceptance of a program element may be determined.

BRIEF DESCRIPTION OF THE DRAWING

[0011] Further objects, features and advantages of the invention willbecome apparent from the following detailed description taken inconjunction with the accompanying drawing, in which:

[0012]FIG. 1 is a block diagram of a hybrid fiber coax cable CATV systemin accordance with a switched broadcast technique;

[0013]FIG. 2 illustrates selected carriers for transmitting programmaterials and control messages in a forward passband of the system ofFIG. 1;

[0014]FIG. 3 is a block diagram of a controller used in the system ofFIG. 1;

[0015]FIG. 4 is a table used by the controller for dynamically assigningthe carriers for transmission of program materials in accordance withthe switched broadcast technique;

[0016]FIG. 5 illustrates a data format of a request processed by thecontroller;

[0017]FIG. 6 is a flow chart illustrating a process for processing therequest;

[0018]FIG. 7 is a flow chart illustrating a process for retiring anunused carrier;

[0019]FIG. 8 is a block diagram of a data analyzer/controller used inthe system of FIG. 1, in accordance with an inventive, improved switchedbroadcast technique;

[0020]FIG. 9 tabulates certain data collected from requests processed bythe data analyzer/controller; and

[0021]FIG. 10 tabulates viewing statistics generated by the dataanalyzer/controller based on the collected data.

DETAILED DESCRIPTION

[0022] The invention is an improvement on a switched broadcast techniquedisclosed, e.g., in copending, commonly assigned U.S. application Ser.No. 09/956,688 (“the '688 application”) filed on Sep. 20, 2001, which isincorporated herein by reference. In accordance with the switchedbroadcast technique, a communications system, e.g., a CATV system, makesavailable to subscribers in the same service area selected programchannels on an as needed basis. In order to fully appreciate theinvention, one needs to learn about the switched broadcast technique, animplementation of which will now be described.

[0023] Switched Broadcast Technique

[0024]FIG. 1 illustrates hybrid fiber coax (HFC) cable CATV system 10incorporating the switched broadcast technique for providing programmaterials to set-top terminals on the subscriber premises. As shown inFIG.1, system 10 includes headend 100, fiber node 122, cabledistribution network 124, and service area nodes, e.g., node 126 whichis connected to set-top terminals 128-1 through 128-L in a service area,where L is a predetermined number.

[0025] In headend 100, program material processing unit 102 receivesprogram materials from various sources via satellites, terrestrialmicrowave transmissions, cable, etc. The program materials are processedby unit 102 to form K individual program data streams in a digitalformat, where K is an integer. Each program data stream contains programmaterial, which requires a transmission channel having a specifiedfrequency band for its distribution. It should be noted that the term“transmission channel” used here should;not be confused with a “programchannel.” A “transmission channel” signifies a designated frequency bandthrough which a program data stream containing program: material istransmitted. On the other hand, a “program channel” signifies the sourceof the program material selected by a subscriber to view. For example, asubscriber may select program channel 2 to view program materialprovided by CBS, program channel 14 to view program material provided byESPN; program channel 32 to view program material provided by MTV, etc.In this instance, there are K program channels corresponding to the Kprogram data streams.

[0026] Under control of controller 112, switching unit 104 selects andswitches a subset of the K program data streams, say, p program datastreams to modulator bank 106, where p≦K. The program data streams inthe subset are selected in a manner described below. Each selectedprogram data stream is transmitted through a different transmissionchannel after it modulates a carrier associated with the transmissionchannel in a designated forward passband. As is well known, in theUnited States the designated forward passband for cable TV ranges from50 MHz to 550 MHz. However, it will be appreciated that a person skilledin the art may utilize other forward passbands, instead.

[0027]FIG. 2 illustrates M carriers, C₁ through C_(M), associated with Mtransmission channels in the forward passband, respectively, which arepre-selected for use in this instance. Since the forward passband islimited in bandwidth, M in this instance represents the maximum numberof carriers or transmission channels that the forward passband canaccommodate. As shown in FIG. 2, the carrier frequency of C₁ is denotedCF₁; the carrier frequency of C₂ is denoted CF₂; . . . ; and the carrierfrequency of C_(M) is denoted CF_(M). In addition, a control carrier CChaving a carrier frequency CCF is assigned to carry control messages bycontroller 112 to the set-top terminals through a control channel in theforward passband.

[0028] In accordance with the switched broadcast technique, carriers aredynamically assigned to carry program materials of only those programchannels selected by the set-top terminals (or subscribers) in a servicearea. The number of program channels that the CATV system can provide,although not simultaneously, can exceed M. That is, K can be greaterthan M in this instance.

[0029] Controller 112 communicates to switching unit 104 through link116, causing unit 104 to switch, to modulator bank 106, the selected pprogram data streams which contain the program channel materialsselected aggregately by the subscribers in the service area. As long asp≦M, controller 112 manages to assign p carriers to carry the respectivedata streams. To that end, controller 112 also specifies to unit 104 theselected inputs of modulator bank 106 to which the p data streams areswitched.

[0030] In this instance, modulator bank 106 includes conventionalmodulators. Each input to modulator bank 106 is fed to a differentmodulator for modulating the input onto one of the M carriers. The pdata streams are switched by unit 104 to the appropriate inputs ofmodulator bank 106 to be modulated onto the p assigned carriers,resulting in p data signals representing the modulated carriers,respectively. In addition, controller 112 transmits control messagesdescribed below, through link 114, to modulator bank 106 where amodulator modulates the control messages onto the aforementioned controlcarrier, resulting in a control signal representing the modulatedcontrol carrier.

[0031] Combiner 108 combines the p data signals and control signal toform a combined signal, which is fed to optical transceiver 110. Thelatter generates an optical signal representing the combined signal. Theoptical signal traverses optical fiber 113 to fiber node 122. Atransceiver (not shown) in fiber node 122 which performs the inversefunction to transceiver 110 converts the optical signal back to thecombined signal in electrical form. The combined signal traverses cabledistribution network 124 to, say, service area node 126, where thecombined signal is multicast to set-top terminals 128-1 through 128-L. Aset-top terminal may be tuned to the control carrier frequency CCF andextract the control signal from the received combined signal. Thecontrol signal may contain information identifying the carrier which isassigned to carry the program channel material selected by the set-topterminal. Based on any such information, the set-top terminal is tunedto the frequency of the identified carrier and extracts thecorresponding data signal from the received combined signal. Theselected program channel material is then derived in a well known mannerfrom the extracted data signal for viewing.

[0032] Referring to FIG. 3, controller 112 includes processor 204 ofconventional design, which is connected to memory 206 and interface 202.Processor 204 receives, e.g., from one or more of set-top terminals128-1 through 128-L, requests for materials of program channels selectedthereby. Such requests are processed by processor 204 in accordance withroutines stored in memory 206 which are described below. It suffices toknow for now that in response to one such request, processor 204 causesswitching unit 104 to switch the program data stream corresponding tothe requested program channel to a selected input of modulator bank 106and assigns an unused carrier for transmitting the data stream ifprocessor 204 has not done so. In addition, processor 204 transmits acontrol message receivable by the requesting set-top terminal, whichincludes the information identifying the carrier assigned by processor204 to carry the requested program channel material. As mentionedbefore, based on such information, the requesting set-top terminal istuned to the frequency of the identified carrier to obtain the selectedprogram channel material.

[0033] To manage the dynamic assignment of carriers for transmittingrequested program channel materials to each service area, an assignmenttable is used in this instance which is stored in memory 206. FIG. 4illustrates such an assignment table (denoted 300), which includescolumns 304, 306 and 308. Column 304 enumerates each program channel Xselectable by a subscriber through a set-top terminal, which ranges from1 to K in this instance. Column 306 tracks, for each program channel X,the number of subscribers in the service area selected that programchannel to watch (N_(PCHX)). Column 308 includes entries identifying thecarriers assigned by processor 204 to carry the respective materials ofprogram channels X. Thus, with assignment table 300, processor 204 hasknowledge that, for example, referring to row 311, carrier C₃ (one ofthe carriers C₁ through C_(M)) is assigned for program channel 2 (X=2)which 12 subscribers (N_(PCHX)=12) have selected to watch. In addition,as indicated in row 313, no subscriber (N_(PCHX)=0) has selected towatch program channel 1 (X=1). As such, no carrier (Null) is assignedfor program channel 1. That is, program channel 1 material is currentlynot transmitted to service area node 126 and thus not currently madeavailable in the service area.

[0034] When a subscriber at a set-top terminal selects a differentprogram channel to watch, a request for material of the newly-selectedprogram channel is sent from the set-top terminal to controller 112. Itshould be noted at this point that each of set-top terminals 128-1through 128-L is pre-assigned with an identifier for identifying theset-top terminal. FIG. 5 illustrates the request which includes, amongothers, STID field 402 containing an identifier identifying therequesting set-top terminal, PCH_(NEW) field 404 containing thenewly-selected program channel number, PCH_(OLD) field 406 containingthe previously-selected program channel number, TIME field 407containing a time stamp of the request, and service group identification(SGID) field 408 containing an identifier identifying the service groupto which the set-top terminal belongs. In this instance, terminals 128-1through 128-L are in the same service area having the same SGID value,which are served by common modulator facility.

[0035] Thus, for example, if the subscriber changes the program channelselection from channel 8 to channel 2 (or in other words “deselects”channel 8 in favor of channel 2), the value of PCH_(NEW) field 404 wouldbe set to “8” and that of PCH_(OLD) field 406 would be set to “2.” Ifthe subscriber has just turned on the cable TV to watch program channel9, the value of PCH_(NEW) field 404 in that instance would be set to “9”and that of PCH_(OLD) field 406 would be set to “0,” indicating an offstate. Conversely, if the subscriber who has been watching programchannel 9 chooses to turn off the cable TV, the value of PCH_(NEW) field404 would be set to “0” and that of PCH_(OLD) field 406 would be set to“9.”

[0036] Referring back to FIG. 1, the above-described request isgenerated by the requesting set-top terminal, say, terminal 128-1, whichincorporates a cable modem for modulating a specified carrier in areverse passband with the request data. As is well known, in the UnitedStates the reverse passband, which ranges from 5 MHz to 42 MHz, isallocated for transmission of signals from set-top terminals to ahead-end to realize interactive services, e.g., the present cable TVservice. However, it will be appreciated that a person skilled in theart may utilize other reverse passbands, instead. The modulated signalfrom terminal 128-1 representing the request data is fed to service areanode 126, from where it is forwarded to fiber node 122 through cabledistribution network 124. In fiber node 122, the aforementioned opticaltransceiver (not shown) generates an optical signal representing themodulated signal. The optical signal traverses optical fiber 115 tooptical transceiver 110 in headend 100. Optical transceiver 110 convertsthe optical signal back to the modulated signal in electrical form. Themodulated signal is then demodulated by demodulator 130 to recover theoriginal request, which is fed to controller 112 through link 118. Inresponse to the received request, controller 112 invokes a first routinestored in memory 206.

[0037] Instructed by the first routine, processor 204 reads the receivedrequest, as indicated at step 502 in FIG. 6. At step 504, processor 204determines whether PCH_(NEW) field 404 in the request has a nonzerovalue f, 1≦f≦K. If not, i.e., the PCH_(NEW) field value equal to “0”indicating that the subscriber's cable TV has been turned off, theroutine comes to an end. Otherwise, processor 204 at step 506 looks up,in assignment table 300, the value of N_(PCHX) with X=f in this case. Atstep 508, processor 204 determines whether the N_(PCHX) value justlooked up equals 0. If N_(PCHX)=0, analogous to the previously describedsituation with respect to row 313 of table 300, no carrier has beenassigned to carry the requested program channel material to service areanode 126. That is, the requested program material is currently not madeavailable to the service area. In that case, processor 204 at step 510assigns an unused carrier to carry the requested material of programchannel X=f. The new carrier may be selected to avoid as much aspossible noise and interference with other carriers being used tooptimize the cable TV quality. At step 512, processor 204 updatesassignment table 300 to include the identity of the carrier assigned forprogram channel X=f. Processor 204 at step 516 communicates to switchingunit 104, directing it to switch the program data stream associated withprogram channel X=f to the proper input of modulator bank 106 such thatthe program channel material is modulated onto the newly-assignedcarrier directed to the service area identified by the SGID from therequest. At step 518, processor 204 generates a control messageresponsive to the received request, which is to be read by therequesting set-top terminal, terminal 128-1 in this instance. Thecontrol message includes, among other information, the STID from therequest identifying terminal 128-1 which is the intended recipient ofthe message, and the identity of the assigned carrier carrying therequested program channel material. The control message is transmittedthrough the control channel in a manner described before and multicastfrom service area node 126 to the set-top terminals in the service area.In particular, terminal 128-1 is tuned to the control channel and readsthe STID information in the control message, which identifies terminal128-1 in this instance. Recognizing that it is the intended recipient ofthe message, terminal 128-1 goes on to read other information in themessage including the identity of the assigned carrier carrying itsselected program channel material. With the knowledge of the assignedcarrier's identity, terminal 128-1 is tuned to the frequency of theassigned carrier to receive the selected program channel material.

[0038] In any event, the routine proceeds from step 518 to step 520where processor 204 increments the value of N_(PCHX) with X=f inassignment table 300 by one, reflecting the fact that an additionalsubscriber (or set-top terminal) in the service area has selectedprogram channel X=f to view. Referring back to step 508, if processor204 determines that the value of N_(PCHX) with X=f does not equal 0,i.e., at least one set top terminal currently receiving program channelX material carried by a previously assigned carrier, the routineproceeds to step 514. Processor 204 at step 514 looks up, in assignmenttable 300, the identity of the carrier previously assigned for programchannel X=f. The routine then proceeds to step 518 described before.

[0039] After the first routine is completed, a second routine is invokedto perform a garbage collection function for retiring any carriercarrying program material which is no longer selected by any set-topterminal in the service area. Instructed by this second routine,processor 204 at step 604 determines whether PCH_(OLD) field 406 in thereceived request has a nonzero value g, 1≦g≦K. If not, i.e., thePCH_(OLD) field value equal to “0” indicating that the subscriber'scable TV has just been turned on, the second routine comes to an end.Otherwise, processor 204 at step 606 looks up, in assignment table 300,the value of N_(PCHX) with X=g in this case. At step 608, processor 204decrements the N_(PCHX) value just looked up by one, reflecting the factthat one fewer subscriber (or set-top terminal) in the service areaselected program channel X=g to view. Processor 204 at step 610determines whether the resulting N_(PCHX) value equals 0. If not, thesecond routine comes to an end. Otherwise, if N_(PCHX)=0 i.e., programchannel X=g no longer selected by any subscriber (or set-top terminal)in the service area, the second routine proceeds to step 612. Processor204 at step 612 searches assignment table 300 for the identity of thecarrier assigned for program channel X=g. Processor 204 at step 614communicates to switching unit 104, causing unit 104 to stop switchingthe program data stream corresponding to program channel X=g tomodulator bank 106, thereby terminating the transmission of the programdata stream otherwise carried by the identified carrier. Processor 204at step 616 places the identified carrier in reserve by substituting thecarrier identity entry with “Null” in assignment table 300.

[0040] Improved Switched Broadcast (ISB) Technique in Accordance withthe Invention

[0041] The invention improves the switched broadcast technique,described above, by not subjecting each program channel to switchedbroadcast indiscriminately. For example, in accordance with theinventive ISB technique, a “popular” program channel commandinggenerally strong viewership in a service area may be assigned a carrieron a long term basis, not subject to reassignment according to theswitched broadcast technique as soon as no set-top terminals in the sameservice area are tuned to such a program channel. The invention, inpart, is based upon a recognition that even though a program channel ispopular, there may be brief moments in which all set-top terminals inthe same service area are tuned away from such a program channel. Thus,the invention improves the switched broadcast technique by assigning acarrier to a popular program channel for a period despite intermittentviewership, thereby advantageously saving the system resources otherwiseneeded to frequently assigning and reassigning a carrier therefor duringsuch a period.

[0042] The invention is also based upon a recognition that popularity ofa program channel may change by day or even time of day. Thus, inaccordance with an aspect of the invention, a popular program channelmay be assigned a particular carrier until the program channel becomes“unpopular.” At such time, the particular carrier may be assigned toanother popular program channel, and the unpopular program channel isthen subject to switched broadcast. Further, a carrier may be shared bycomplementary program channels, where one program channel is popular fortimes when the other program channel is unpopular, and vice versa. Forexample, a cartoon channel, sports channel, talk show channel and moviechannel may be complementary in that a cartoon channel is popular onweekend mornings, sports channel on weekend afternoons, talk showchannel on weekday daytimes and movie channel on both weekday andweekend night times. Thus, in accordance with the invention, a carriermay be cycled through such complementary program channels such that thecarrier is assigned to the cartoon channel for weekend mornings, to thesports channel for weekend afternoons, to the talk show channel forweekday daytimes and to a movie channel each night. While one of thecomplementary program channels is assigned the carrier, the otherprogram channels are subject to switched broadcast.

[0043] In an illustrative embodiment, the determination of popularity ofa program channel is conducted by data analyzer/controller (DA/C) 812 inFIG. 8, which replaces controller 112 in system 10. Similar tocontroller 112, DA/C 812 includes interface 802, processor 804 andmemory 806. However, DA/C 812 in this instance not only performs all ofthe functions of controller 112 described above, but also collects andanalyzes data to determine popular program channels and periods in whichthey are popular, and assigns carriers to the popular program channelson a permanent basis for such periods. To that end, processor 804 inDA/C 812 collects additional data from requests of FIG. 5, concerningselection and deselection program channels which are subject to switchedbroadcast. As described before, such requests originate from the set-topterminals to which DA/C 812 corresponds.

[0044]FIG. 9 illustrates the collected data in memory 806 in table form,denoted 900. Column 902 of table 900 enumerates the time stamps in field407 of the requests received by DA/C 812. Column 904 enumerates thecorresponding program channels X selected or deselected in the requests,as indicated in field 404 thereof. Column 905 enumerates thecorresponding SGIDs in field 408, indicating the service areas fromwhich the requests come. Like column 306 described before, column 906tracks, each time after a request concerning program channel X isprocessed, the number of set-top terminals (N_(PCHX)) in the servicearea which are turned to channel X.

[0045] Based on the collected data, processor 804 may generate variousstatistics concerning different program channels and their viewershipfor different time frames, e.g., different times of day, days of week,seasons of year, etc., to determine popularity of the program channelsand useful trends on a temporal basis. In addition, processor 804 maygenerate various statistics concerning different program channels andtheir viewership for different service areas which may comprise ageographic region, e.g., the South, Midwest, Northeast, West Coast, etc.to determine popularity of the program channels and useful trends on aregional basis. Without loss of generality, FIG. 10 illustrates a table(denoted 1000) containing viewing statistics concerning a given weekdayfor a given service area, which are extracted from the collected data,e.g., table 900, at specified time intervals, e.g., 10 minutes. As shownin table 1000, each column is associated with a different programchannel. For example, column 1003 is associated with program channel 50,which in this instance represents a talk show channel. Column 1005 isassociated with program channel 51, which in this instance represents amovie channel. Column 1007 is associated with program channel 52, whichin this instance represents a cartoon channel. Column 1009 is associatedwith program channel 53, which in this instance represents a sportschannel. Column 1011 is associated with program channel 54, which inthis instance represents a music video channel. Each entry in a columnrepresents the number of set-top terminals tuned to the program channelassociated with the column at a specified time. For example, entry 1021in column 1011 indicates that 63 set-top terminals in the given servicearea are tuned to program channel 54 at 6:00 am on the given weekday. Inthis instance, the statistics captured in table 1000 are based on a timegranularity of 10 minutes. As a result, the next entry, i.e., entry1023, in column 1011 corresponds to 6:10 am at which 50 set-topterminals in the given service area are tuned to program channel 54.Column 1011 in this instance also shows that at 6:20 am, 51 set-topterminals in the given service area are tuned to program channel 54; at6:30 am, 66 set-top terminals in the given service area are tuned to thesame program channel; . . . and so on and so forth. The viewership of aprogram channel may be considered to be strong when the number ofset-top terminals in a service area tuned to the program channel exceedsa predetermined threshold, e.g., 10 in this instance. The actual valueof the threshold may vary with the total number of set-top terminals ina service area. In this instance the viewership of program channel 54, amusic video channel, is strong throughout the day, with the exception ofa few brief intervals (e.g., interval 1033), perhaps because the musicvideos played during those intervals are unentertaining.

[0046] In this example, because of the generally strong viewership ofprogram channel 54, processor 804 determines that program channel 54 isa popular program channel at least for the given weekday. Processor 804further analyzes and cross-references other daily statistics to obtain apattern of viewership of program channel 54. If, for example, processor804 determines that program channel 54 is popular each day, processor804 may assign a carrier, on a permanent basis, to deliver programmingcontent of program channel 54 to the given service area, in accordancewith the invention. Similarly, if processor 804 determines that programchannel 54 is only popular on a particular weekday each week, processor804 may assign a carrier, on a weekly basis, to deliver its programmingcontent to the given service area on that particular weekday, and forthe other days of the week, program channel 54 is subject is switchedbroadcast.

[0047] Based on the viewing statistics in table 1000, processor 804 alsodetermines viewing habits of the subscribers in the given service area.For example, based on the statistics in column 1003, processor 804determines that the viewership of program channel 50, a talk showchannel, is relatively strong in the daytime (e.g., 6:00 am through 6:30pm) but relatively weak in the nighttime (e.g., 6:30 pm through 2:00am). On the other hand, based on the statistics in column 1005,processor 804 determines that the viewership of program channel 51, amovie channel, is relatively weak in the daytime but relatively strongin the nighttime. As a result, program channel 50 and program channel 51seem to be complementary, where channel 50 is popular while channel 51becomes unpopular, and vice versa, at least for the given weekday.Processor 804 further analyzes and cross-references other dailystatistics to obtain a viewership pattern for both program channels 50and 51. If, for example, processor 804 determines that program channel50 is popular during the daytime of each weekday, and program channel 51is popular during the nighttime of each weekday, processor 804 mayassign a specific carrier to alternately deliver channel 50 daytimeprogramming content and channel 51 nighttime programming content to thegiven service area each weekday, according to the viewing habit of thesubscribers in that service area. That is, program channel 50 (51) inthis instance is assigned the specific carrier during the daytime(nighttime) of each weekday and is subject to switched broadcast for therest of the time.

[0048] Other subscriber viewing habits may be uncovered by processor 804analyzing weekday viewing statistics, e.g., table 1000, and weekendviewing statistics (not shown) aggregately. For example, processor 804in this instance determines that although program channel 52, a cartoonchannel, and program channel 53, a sports channel, are generallyunpopular on weekdays, they are popular in certain periods on weekends.Specifically, the viewership of program channel 52 is particularlystrong on weekend mornings while the viewership of program channel 53 isparticularly strong on weekend afternoons. As such, processor 804 inthis instance assigns a specific carrier to deliver channel 52 (53)programming content to the given service area during weekend mornings(afternoons), and for the rest of the time, channel 52 (53) is subjectto switched broadcast. In addition, processor 804 in this instancedetermines that movie channel 51 is popular during weekend nights aswell. As such, the same carrier may be assigned to deliver channel 51programming content to the given service area during weekend nights.Indeed, in this instance the same carrier may be cycled through programchannels 50, 51, 52 and 53 each week, which are complementary.

[0049] It should be noted that viewing statistics may be captured on adaily basis, e.g., table 1000. They may otherwise be captured on alarger or smaller scale to identify subscriber viewing habits in a timeframe of particular interest. For example, by capturing viewingstatistics on a monthly basis, processor 804 may identify any monthly orseasonal viewing habits with respect to a particular program channel.If, for example, based on the monthly statistics processor 804determines that program channel 54 is generally popular for only one ofthe four seasons, say summer. Accordingly, processor 804 may assign aspecific carrier to deliver channel 54 programming content to the givenservice area for summers only, and for other seasons, channel 54 issubject to switched broadcast.

[0050] In another embodiment, based on the viewing statistics such asthose captured in table 1000, processor 804 also determines whatprograms, program lineups or even program channels are unpopular and notwell received by the audience. For example, by correlating the start andend times of interval 1033 with a broadcast program schedule, processor804 may identify those unentertaining music videos played duringinterval 1033. Processor 804 may further analyze and cross-referenceother viewing statistics to determine any viewership pattern regardingsuch music videos in terms of time and geographic region. For example,(I) by cross-referencing other daily statistics associated with, theservice area, processor 804 may determine that the music videos inquestion are unpopular all the time or only during certain time of day,day of week, etc. in the service area; (II) by cross referencing otherdaily statistics associated with other service areas, processor 804 maydetermine that the music videos in question may also be unpopular, atcertain times or all the time, in other service areas comprising aregion, e.g., the South, Midwest, Northeast, West Coast, etc. or thewhole country. Thus, by similarly performing (I) and/or (II) on viewingstatistics to determine popularity or unpopularity of a program, programlineup or even a program channel, processor 804 may furnish serviceproviders, advertisement sales and research groups with valuabledemographics concerning such a program, program lineup or programchannel. Of course, (I) and (II) may be similarly performed to identifypopular programs, program lineups or program channels, which are subjectto renewal due to strong viewership. The same-applies to commercials andelements of TV shows, e.g., skits, monologues, chapters, etc., made partof TV shows. For example, by adjusting the time granularity of viewingstatistics from 10 minutes as in table 1000 to, say, 30 seconds (thelength of a typical commercial) or less, processor 804 may determinebased on the viewing statistics the popularity or unpopularity of agiven commercial in terms of time and/or geographic regions. Such databy processor 804 is conducive to providing demographically targetedcommercials.

[0051] The foregoing merely illustrates the principles of the invention.It will thus be appreciated that those skilled in the art will be ableto devise numerous other arrangements which embody the principles of theinvention and are thus within its spirit and scope.

[0052] For example, in the disclosed embodiment, modulator bank 106,combiner 108, optical transceiver 110 and demodulator 130 areillustratively co-located in headend 100. However, one or more of thesecomponents may be located outside headend 100.

[0053] In addition, system 10 is disclosed herein in a form in whichvarious functions are performed by discrete functional blocks. However,any one or more of these functions could equally well be embodied in anarrangement in which the functions of any one or more of those blocks orindeed, all of the functions thereof, are realized, for example, by oneor more appropriately programmed processors such as digital signalprocessors (DSPs). Thus, for example, switching unit 104 and modulatorbank 106 in system 10 may be realized by one or more DSPs. A DSPtypically comprises a combination of digital logic devices and othercomponents, which may be a state machine or implemented with a dedicatedmicroprocessor or micro-controller running a software program or havingfunctions programmed in firmware.

What is claimed is:
 1. Apparatus for controllably delivering programmingcontent associated with a program source in response to requests from aplurality of terminals in a service area, the apparatus comprising: aninterface for receiving the requests; a memory for storing data in therequests, statistics being generated based on the data; and a processingelement for identifying, based on the statistics, at least one period inwhich the program source is in a particular status, a selected carrierbeing assigned to deliver programming content associated with theprogram source to the service area for the identified period.
 2. Theapparatus of claim 1 wherein the program source includes a programchannel.
 3. The apparatus of claim 1 wherein the particular statusconcerns popularity of the program source in the identified period. 4.The apparatus of claim 3 wherein the popularity is a function of thenumber of terminals receiving the programming content in the identifiedperiod.
 5. The apparatus of claim 4 wherein the number of terminalsdefines viewership of the programming content in the identified period.6. The apparatus of claim 4 wherein the number of terminals receivingthe programming content exceeds a threshold.
 7. The apparatus of claim 6wherein the threshold varies with the total number of terminals in theservice area.
 8. The apparatus of claim 1 wherein at least one of therequests includes a request for providing programming content associatedwith the program source.
 9. The apparatus of claim 1 wherein at leastone of the requests includes a request for providing programming contentassociated with a second program source.
 10. The apparatus of claim 1wherein at least one of the requests includes a request to stopproviding programming content.
 11. A system for delivering programmaterials associated with at least first and second program sources inresponse to requests from a plurality of terminals in a service area,the system comprising: an interface for receiving the requests; aprocessor for generating statistics based on data in the requests, afirst period in which the first program source is in a certain statusbeing determined based on the statistics, and a second period in whichthe second program source is in a certain status being determined basedon the statistics, the first and second periods being non-overlapping;and a mechanism for allocating a carrier to deliver program materialassociated with the first program source to the service area for thefirst period, and re-allocating the carrier to deliver program materialassociated with the second program source to the service area for thesecond period.
 12. The system of claim 11 comprising a multichannelcommunications system.
 13. The system of claim 11 comprising a cable TVsystem.
 14. The system of claim 11 wherein at least one of the first andsecond program sources includes a program channel.
 15. The system ofclaim 11 Wherein the certain status of the first program source concernspopularity thereof in the first period.
 16. The system of claim 15wherein the popularity is a function of the number of terminalsreceiving the program material associated with the first program sourcein the first period.
 17. The system of claim 16 wherein the number ofterminals defines viewership of the program material associated with thefirst program source in the first period.
 18. The system of claim 16wherein the number of terminals exceeds a threshold.
 19. The system ofclaim 18 wherein the threshold varies with the total number of terminalsin the service area.
 20. The system of claim 11 wherein at least one ofthe requests includes a request for receiving the program materialassociated with the first program source.
 21. The system of claim 11wherein at least one of the requests includes a request for providingprogram material associated with a program source other than the firstprogram source.
 22. The system of claim 11 wherein at least one of therequests includes a request to stop providing program material.
 23. Acommunications system comprising: a mechanism for providing a sequenceof program elements associated with a program source to at least oneservice area according to a predetermined schedule; an interface forreceiving requests concerning the program source from a plurality ofterminals in the at least one service area, statistics being generatedbased at least on times of the requests; and a processor for determininga period in which the program source is in a particular status based onthe statistics, a subset of the program elements provided in the periodbeing identified based on the predetermined schedule.
 24. The system ofclaim 23 wherein the sequence of program elements are broadcast, and thepredetermined schedule comprises a broadcast program schedule.
 25. Thesystem of claim 23 wherein the particular status is a function of thenumber of terminals receiving content of the program elements in thesubset.
 26. The system of claim 25 wherein the number of terminals iscompared with a threshold.
 27. The system of claim 26 wherein thethreshold varies with the total number of terminals in the at least oneservice area.
 28. The system of claim 23 wherein the at least oneservice area includes a plurality of service areas comprising ageographic region.
 29. The system of claim 23 wherein at least one ofthe program elements in the subset includes a commercial.
 30. The systemof claim 23 wherein the program source includes a program channel. 31.The system of claim 23 wherein at least one of the requests includes arequest for providing programming content associated with the programsource.
 32. The system of claim 23 wherein at least one of the requestsincludes a request for providing programming content associated with asecond program source.
 33. The system of claim 23 wherein at least oneof the requests includes a request to stop providing programmingcontent.
 34. The system of claim 23 comprising a multichannelcommunications system.
 35. The system of claim 23 comprising a cable TVsystem.
 36. A method for controllably delivering programming contentassociated with a program source in response to requests from aplurality of terminals in a service area, the method comprising:receiving the requests; storing data in the requests; generatingstatistics based on the data; identifying, based on the statistics, atleast one period in which the program source is in a particular status;and assigning a selected carrier to deliver programming contentassociated with the program source to the service area for theidentified period.
 37. The method of claim 36 wherein the program sourceincludes a program channel.
 38. The method of claim 36 wherein theparticular status concerns popularity of the program source in theidentified period.
 39. The method of claim 38 wherein the popularity isa function of the number of terminals receiving the programming contentin the identified period.
 40. The method of claim 39 wherein the numberof terminals defines viewership of the programming content in theidentified period.
 41. The method of claim 39 wherein the number ofterminals receiving the programming content exceeds a threshold.
 42. Themethod of claim 41 wherein the threshold varies with the total number ofterminals in the service area.
 43. The method of claim 36 wherein atleast one of the requests includes a request for providing programmingcontent associated with the program source.
 44. The method of claim 36wherein at least one of the requests includes a request for providingprogramming content associated with a second program source.
 45. Themethod of claim 36 wherein at least one of the requests includes arequest to stop providing programming content.
 46. A method fordelivering program materials associated with at least first and secondprogram sources in response to requests from a plurality of terminals ina service area, the method comprising: receiving the requests;generating statistics based on data in the requests; determining, basedon the statistics, a first period in which the first program source isin a certain status; determining, based on the statistics, a secondperiod in which the second program source is in a certain status, thefirst and second periods being non-overlapping; and performing thefollowing (a) and (b) one or more times: (a) allocating a carrier todeliver program material associated with the first program source to theservice area for the first period, and (b) allocating the carrier todeliver program material associated with the second program source tothe service area for the second period.
 47. The method of claim 46wherein at least one of the first and second program sources includes aprogram channel.
 48. The method of claim 46 wherein the certain statusof the first program source concerns popularity thereof in the firstperiod.
 49. The method of claim 48 wherein the popularity is a functionof the number of terminals receiving the program material associatedwith the first program source in the first period.
 50. The method ofclaim 49 wherein the number of terminals defines viewership of theprogram material associated with the first program source in the firstperiod.
 51. The method of claim 49 wherein the number of terminalsexceeds a threshold.
 52. The method of claim 51 wherein the thresholdvaries with the total number of terminals in the service area.
 53. Themethod of claim 46 wherein at least one of the requests includes arequest for providing the program material associated with the firstprogram source.
 54. The method of claim 46 wherein at least one of therequests includes a request for providing program material associatedwith a program source other than the first program source.
 55. Themethod of claim 46 wherein at least one of the requests includes arequest to stop providing program material.
 56. A method for use in acommunications system, comprising: providing a sequence of programelements associated with a program source to at least one service areaaccording to a predetermined schedule; receiving requests concerning theprogram source from a plurality of terminals in the at least one servicearea; generating statistics based at least on times of the requests;determining, based on the statistics, a period in which the programsource is in a particular status; and identifying a subset of theprogram elements provided in the period based on the predeterminedschedule.
 57. The method of claim 56 wherein the sequence of programelements are broadcast, and the predetermined schedule comprises abroadcast program schedule.
 58. The method of claim 56 wherein theparticular status is a function of the number of terminals receivingcontent of the program elements in the subset.
 59. The method of claim58 wherein the number of terminals is compared with a threshold.
 60. Themethod of claim 59 wherein the threshold varies with the total number ofterminals in the at least one service area.
 61. The method of claim 56wherein the at least one service area includes a plurality of serviceareas comprising a geographic region.
 62. The method of claim 56 whereinat least one of the program elements in the subset includes acommercial.
 63. The method of claim 56 wherein the program sourceincludes a program channel.
 64. The method of claim 56 wherein at leastone of the requests includes a request for providing programming contentassociated with the program source.
 65. The method of claim 56 whereinat least one of the requests includes a request for providingprogramming content associated with a second program source.
 66. Themethod of claim 56 wherein at least one of the requests includes arequest to stop providing programming content.